#pragma once

#include <vex/core/contract/handle.h>

namespace vex { namespace core { namespace contract {
    // Provides support for intrusive_ptr or similar smart pointer wrappers
    inline void intrusive_ptr_add_ref(::vex::core::contract::handle* p_handle)
    {
        p_handle->add_ref();
    }

    // Provides support for intrusive_ptr or similar smart pointer wrappers
    inline void intrusive_ptr_release(::vex::core::contract::handle* p_handle)
    {
        p_handle->release();
    }
}}}